package com.tanhua.dubbo.api;


import com.tanhua.domain.mongo.UserLike;
import com.tanhua.domain.vo.PageResult;

import java.util.List;

public interface UserLikeApi {

    /**
     * 添加喜欢数据
     * @param userId
     * @param likeUserId
     */
    void addLove(Long userId, Long likeUserId);

    // 查询互相喜欢、喜欢、粉丝数
    Long queryEachLoveCount(Long userId);
    Long queryLoveCount(Long userId);
    Long queryFanCount(Long userId);

    // 分页查询互相喜欢、喜欢、粉丝、谁看过的列表
    PageResult queryEachLoveList(Long userId, Integer page, Integer pagesize);
    PageResult queryLoveList(Long userId, Integer page, Integer pagesize);
    PageResult queryFanList(Long userId, Integer page, Integer pagesize);
    PageResult queryVisitorList(Long userId, Integer page, Integer pagesize);

    /**
     * 删除粉丝数据
     * @param userId
     * @param uid
     */
    void delete(Long userId, Long uid);

    /**
     *  判断likeUserId是不是喜欢你
     * @param userId
     * @param likeUserId
     * @return
     */
    Boolean ifCount(Long userId, Long likeUserId);


    /**
     * 查询我的粉丝
     * @param userId 用户Id
     * @param recommendUserId 推荐用户Id
     */
    UserLike queryUserFanList(Long userId, Long recommendUserId);

    /**
     * 添加喜欢
     * @param userId 用户Id
     * @param recommendUserId 推荐用户Id
     */
    void saveFans(Long userId, Long recommendUserId);

    /**
     * 取消喜欢
     * @param userId
     * @param uid
     */
    void cancelLike(Long userId, Long uid);
}
